package com.desay.pangoo.itmt.service;

import com.desay.pangoo.itmt.controller.vo.OrgChartVo;
import com.desay.pangoo.itmt.entity.OrgChartEntity;

import java.util.List;

/**
 * 
 * @author uidq1163
 *
 */
public interface OrgChartService {
	/**
	 * 添加组织架构人员信息
	 * 
	 * @param groupName
	 * @return
	 */
	Long create(OrgChartVo vo);

	/**
	 * 删除组织架构人员信息
	 * 
	 * @param id
	 */
	void delete(Long id);

	/**
	 * 更新组织架构人员信息
	 */
	void update(Long id, OrgChartVo vo);

	/**
	 * 获取组织架构人员信息
	 * 
	 * @return
	 */
	List<OrgChartEntity> getOrgChart();

	/**
	 * 根据工作组获取用户信息
	 * 
	 * @param id
	 * @return
	 */
	List<OrgChartEntity> getOrgChartByWorkGroupId(Long id);

	/**
	 * 根据角色获取组织架构人员信息
	 * 
	 * @param orgRole
	 * @return
	 */
	Object getOrgInfo(Integer orgRole);

	/**
	 * 根据角色获取组织架构人员信息<br>
	 * ITMT ChairMan:1，ITMT Leader:2，ITMT SubLeader:3，ITMT成员:4,TSP:5,PRG:6
	 * @param orgRole
	 * @return
	 */
	Object getOrgInfoByOrgRole(Integer orgRole);

	/**
	 * 判断用户是否属于角色成员
	 * 
	 * @param orgRole
	 * @param login
	 * @return
	 */
	List<OrgChartEntity> getUserWorkGroup(Integer orgRole, String login);

	/**
	 * 判断用户是否属于角色成员
	 * 
	 * @param orgRole 组织角色:ITMT ChairMan:1，ITMT Leader:2，ITMT SubLeader:3，ITMT成员:4,TSP:5,PRG:6
	 * @param login
	 * @return
	 */
	List<OrgChartEntity> getUserByWorkGroup(Integer orgRole, Long workGroupId);

    Object getUserWorkGroup();
}
